home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #2
/
Monster Media No. 2 (Monster Media)(1994).ISO
/
pcboard
/
prfl200.zip
/
PROFILE.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-06-16
|
6KB
|
294 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
String STRING027
BigStr BIGSTR001
;------------------------------------------------------------------------------
GetUser
STRING001 = TokenStr()
Tokenize STRING001
Select Case (Upper(STRING001))
Case "H", "HELP"
Goto LABEL004
Case "SET"
Goto LABEL008
Case ""
Goto LABEL003
Case "L", "LIST"
Goto LABEL007
Case Upper((STRING001 == "SY"))
If (U_Sec >= SysopSec()) Then
Goto LABEL009
Else
End
Endif
Case Upper((STRING001 == "SYSO"))
If (U_Sec >= SysopSec()) Then
Goto LABEL009
Else
End
Endif
If (TokCount() == 3) Then
STRING001 = GetToken() + " " + GetToken() + " " + GetToken()
Else
STRING001 = GetToken() + " " + GetToken()
Endif
Tokenize STRING001
If (TokCount() == 3) Then
INTEGER002 = Len(GetToken()) + Len(GetToken()) + 2
Else
INTEGER002 = Len(GetToken()) + 1
Endif
INTEGER001 = Len(STRING001)
INTEGER001 = INTEGER001 - INTEGER002
STRING002 = U_RecNum(STRING001)
If (STRING002 == -1) Then
Goto LABEL005
Endif
If (Exist(PPEPath() + "PROFILE.CFG")) Then
FOpen 2, PPEPath() + "PROFILE.CFG", 0, 0
FGet 2, STRING025
FGet 2, STRING026
FGet 2, STRING027
FClose 2
If (Ferr(1)) Then
PrintLn "Error opening Configuration File. Inform SysOp Immediately!"
Endif
Else
PrintLn "Configuration file does not exist. This program will not run without"
PrintLn "the 'PROFILE.CFG' file in the same directory as the 'PROFILE.PPE'."
End
Endif
FOpen 1, STRING027 + "\INDEX-" + Left(Right(STRING001, INTEGER001), 1), 2, 0
:LABEL001
FGet 1, BIGSTR001
INTEGER001 = Len(STRING001)
Case STRING001
FSeek 1, -700, 1
FRead 1, BIGSTR001, 700
FClose 1
Goto LABEL002
Case ""
Goto LABEL006
Case Else
Goto LABEL001
End Select
:LABEL002
STRING003 = Mixed(STRING001)
FClose 1
GetAltUser STRING002
Gosub LABEL010
PrintLn "Ok, here's the info for@X0D ", STRING003, "@X0C..."
Newline
PrintLn "@X0AReal Name@X0F:@X0E ", Left(STRING003, 31), "@X0ASex@X0F:@X0E ", STRING004, " @X0AAge@X0F:@X0E ", STRING005
PrintLn "@X0ACity@X0F/@X0AState@X0F:@X0E ", Left(Mixed(U_City), 30), "@X0ALast Date on@X0F:@X0E ", U_LDate()
PrintLn "@X0AVoice Phone@X0E#@X0F:@X0E ", Left(STRING008, 28), "@X0ALast Time on@X0F:@X0E ", U_LTime()
PrintLn "@X0AComp. Phone@X0E#@X0F:@X0E ", Left(STRING010, 28), "@X0ALast Updated@X0F:@X0E ", STRING023
PrintLn "@X0AMarital Status@X0F:@X0E ", Left(STRING006, 26)
PrintLn "@X0AAlias's@X0F:@X0E ", Left(STRING007, 33), "@X0ABBS Name@X0F:@X0E ", STRING011
PrintLn "@X0APhysical Description@X0F:@X0E ", STRING009
PrintLn "@X0AFavorite Movie@X0F:@X0E", Left(STRING014, 25)
PrintLn "@X0AFavorite TV Show@X0F: @X0E", STRING015
PrintLn "@X0AFavorite Music@X0F: @X0E", Left(STRING016, 35)
PrintLn "@X0AFavorite Foods@X0F: @X0E", STRING018
PrintLn "@X0AFavorite Sport@X0F: @X0E", STRING019
PrintLn "@X0AInstrument@X0F:@X0E ", STRING017
PrintLn "@X0AGoal's in Life@X0F:@X0E ", STRING013
PrintLn "@X0AHobbies@X0F/@X0AInterests@X0F:@X0E ", STRING020
PrintLn "@X0AOther BBS@X0F'@X0As you call@X0F:@X0E ", STRING024
PrintLn "@X0AOccupation@X0F:@X0E ", STRING012
PrintLn "@X0AGeneral Info@X0F:@X0E ", STRING021
PrintLn "@X0ASummary@X0F:@X0E ", STRING022
End
:LABEL003
If (Exist(PPEPath() + PPEName() + ".HLP")) DispFile PPEPath() + PPEName() + ".HLP", 1
End
:LABEL004
If (Exist(PPEPath() + PPEName() + "2.HLP")) DispFile PPEPath() + PPEName() + "2.HLP", 1
End
:LABEL005
Newline
PrintLn "@X0BSorry but that user is not a current user on this BBS."
End
:LABEL006
Newline
PrintLn "@X0DSorry but that user has not filled out a Profile yet."
End
:LABEL007
If (Exist(PPEPath() + "LIST.PPE")) Then
Call PPEPath() + "LIST.PPE"
Else
PrintLn "Listing file missing. Inform the SysOp Immediately."
Endif
End
:LABEL008
If (Exist(PPEPath() + "SETUP.PPE")) Then
Call PPEPath() + "Setup.PPE"
Else
PrintLn "Setup file missing. Inform the SysOp Immediately."
Endif
End
:LABEL009
If (Exist(PPEPath() + "SYSOP.PPE")) Then
Call PPEPath() + "SysOp.PPE"
Else
PrintLn "SysOp file missing. Inform the SysOp Immediately."
Endif
End
:LABEL010
STRING004 = Right(Left(BIGSTR001, 27), 1)
STRING005 = Right(Left(BIGSTR001, 31), 3)
STRING006 = Right(Left(BIGSTR001, 57), 25)
STRING007 = Right(Left(BIGSTR001, 83), 25)
STRING008 = Right(Left(BIGSTR001, 96), 12)
STRING009 = Right(Left(BIGSTR001, 151), 54)
STRING010 = Right(Left(BIGSTR001, 164), 12)
STRING011 = Right(Left(BIGSTR001, 191), 26)
STRING014 = Right(Left(BIGSTR001, 217), 25)
STRING015 = Right(Left(BIGSTR001, 243), 25)
STRING016 = Right(Left(BIGSTR001, 279), 35)
STRING017 = Right(Left(BIGSTR001, 300), 20)
STRING018 = Right(Left(BIGSTR001, 336), 35)
STRING019 = Right(Left(BIGSTR001, 372), 35)
STRING020 = Right(Left(BIGSTR001, 428), 55)
STRING021 = Right(Left(BIGSTR001, 484), 55)
STRING012 = Right(Left(BIGSTR001, 520), 35)
STRING013 = Right(Left(BIGSTR001, 571), 50)
STRING023 = Right(Left(BIGSTR001, 580), 8)
STRING022 = Right(Left(BIGSTR001, 646), 65)
STRING024 = Right(Left(BIGSTR001, 697), 50)
Return
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 12 End
; 44 Goto
; 31 Let
; 28 PrintLn
; 20 If
; 2 DispFile
; 2 FOpen
; 3 FClose
; 4 FGet
; 1 GetUser
; 1 Gosub
; 1 Return
; 3 Newline
; 2 Tokenize
; 3 Call
; 1 FSeek
; 1 FRead
; 1 GetAltUser
;
;
; ■ Functions used :
;
; 2 -
; 27 +
; 1 -
; 15 ==
; 2 >=
; 18 !
; 4 ||
; 5 Len(
; 10 Upper()
; 31 Left()
; 22 Right()
; 1 Ferr()
; 1 U_LDate()
; 1 U_LTime()
; 12 PPEPath()
; 2 SysopSec()
; 8 GetToken()
; 6 Exist()
; 1 TokenStr()
; 4 PPEName()
; 2 TokCount()
; 1 U_RecNum()
; 2 Mixed()
;
;------------------------------------------------------------------------------
;
; Analysis flags : RCs
;
; R - Read user ■ 5
; User records are read, this may signify that someone wants to get
; various informations about a user (for example his password), but
; this may also be normal for a program accessing user records (for
; example a User Editor)
; ■ Search for : GETALTUSER
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
; s - Sysop level access ■ 5
; Program is reading the sysop access level, this may be normal
; but still it is very suspect. It is the best way to give a user
; all priviledges. Check!
; ■ Search for : SYSOPSEC()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 0 While/EndWhile
; 10 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------